|
- import React from 'react';
- import Header from "@/components/MainWebsite/Header";
- import Footer from "@/components/MainWebsite/Footer";
- import HeaderYamaha from "@/components/Company/Header";
- import FooterYamaha from "@/components/Company/Footer";
- import NewsDetail from "@/components/Common/new/NewsDetail";
-
-
- //api
- import News from "../../../api/new/news"
- import Social from "@/api/new/social";
- import Dealer from "@/api/new/dealer";
- import Company from "@/api/new/company";
-
- const NewsDetails = ({companyData,company,news,navigation,id,socials,desc,dealer,icon}) => {
- return (
- <>
- {!(company=="Thamrin")?(<HeaderYamaha company={company.toLowerCase()} icon={icon} />):(<Header icon={icon} sticky={true} isHome={false}/>)}
- <NewsDetail id={id} news={news} navigation={navigation}/>
- {!(company=="Thamrin")?(<FooterYamaha company={companyData} icon={icon} social={socials} desc={desc}/>):(<Footer icon={icon} info={dealer} isHome={false} social={socials} desc={desc}/>)}
- </>
- )
- }
-
- export async function getServerSideProps(context) {
- const { id } = context.query;
- var props = {"id":id};
- var content = await News.newsById(id);
- if (content["STATUS"] === 1) {
- props["news"] = content["DATA"].content.data.attributes;
- }
- var Ids = await News.newsByCompanyId(content["DATA"].content.data.attributes.Company.data.id);
- if(Ids["STATUS"]==1){
- var currentNewsIdx;
- var newsIds = Ids["DATA"].contents.data.map((i,idx)=>{
- if(i.id == id) currentNewsIdx = idx;
- return {id:i.id,title:i.attributes.Title,publishedAt:i.attributes.publishedAt,thumbnail:(i.attributes.Image.data)?i.attributes.Image.data.attributes.url:null};
- });
- if(currentNewsIdx != null){
- props["navigation"] =newsIds.filter((i,idx)=>{
- return ((currentNewsIdx<(newsIds.length-1)&& idx ==(currentNewsIdx+1)) || (currentNewsIdx> 0 && idx == (currentNewsIdx -1)));
- });
- }
-
- }
- var socials = await Social.socialByCompany(content["DATA"].content.data.attributes.Company.data.id);
- if(socials["STATUS"]==1){
- props["socials"] = socials["DATA"].socialMedias.data;
- }
- var dealers = await Dealer.dealersByCompanyId(content["DATA"].content.data.attributes.Company.data.id);
- if(dealers["STATUS"]==1&&dealers["DATA"].dealers.data && dealers["DATA"].dealers.data.length>0){
- const dealer = dealers["DATA"].dealers.data[0].attributes;
- props["dealer"] = {Email:dealer.Email, Address:dealer.Address, Telp: dealer.Telp};
- }
- var icon = await Company.companyIcon(content["DATA"].content.data.attributes.Company.data.id);
- if(icon["STATUS"]==1)props["icon"] = icon["DATA"].company.data.attributes.Icon.data.attributes.url;
-
- props["company"] = content["DATA"].content.data.attributes.Company.data.attributes.Name;
- props["companyData"] = content["DATA"].content.data.attributes.Company.data.attributes;
- props["desc"] = content["DATA"].content.data.attributes.Company.data.attributes.Description;
- return {
- props
- };
- }
-
-
- export default NewsDetails;
|